package testdemo;

import java.util.ArrayList;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 黎鹤舞
 * Date: 2023-12-03
 * Time: 19:16
 */
public class TestDemo {
    public List<List<Integer>> generate(int numRows) {
        //实例化一个二维数组，长度为numRows:
        List<List<Integer>> list = new ArrayList<>();

        //实例化第一个一维数组，其内容只有第一个元素 1:
        List<Integer> firstList = new ArrayList<>();
        firstList.add(1);

        list.add(firstList);

        //遍历后续的每一行:
        for(int i = 1; i < numRows; i++) {

            //每一行都是一个顺序表，都需要实例化:
            List<Integer> curList = new ArrayList<>();

            //每一行第一个元素都为1
            curList.add(1);

            //中间部分内容需要上一行的数据信息:
            List<Integer> preList = new ArrayList<>();
            preList = list.get(i - 1);
            for(int j = 1; j < i; j++) {
                int sum = preList.get(j) + preList.get(j - 1);
                curList.add(sum);
            }

            //最后一个元素
            curList.add(1);

            //每一个顺序表都要存放在二维顺序表中：
            list.add(curList);
        }
        return list;
    }
}
